#include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
#ifdef __cplusplus
extern "C" {
#endif
btSolverAnalyticsData* bullet_NewbtSolverAnalyticsData(){
	btSolverAnalyticsData* wrap_out = new btSolverAnalyticsData();
	return wrap_out;
}

int bullet_btSolverAnalyticsData_GetFieldOfM_islandId(btSolverAnalyticsData* c_this){
	return (int)(c_this->m_islandId);
}

int bullet_btSolverAnalyticsData_GetFieldOfM_numBodies(btSolverAnalyticsData* c_this){
	return (int)(c_this->m_numBodies);
}

int bullet_btSolverAnalyticsData_GetFieldOfM_numContactManifolds(btSolverAnalyticsData* c_this){
	return (int)(c_this->m_numContactManifolds);
}

int bullet_btSolverAnalyticsData_GetFieldOfM_numIterationsUsed(btSolverAnalyticsData* c_this){
	return (int)(c_this->m_numIterationsUsed);
}

int bullet_btSolverAnalyticsData_GetFieldOfM_numSolverCalls(btSolverAnalyticsData* c_this){
	return (int)(c_this->m_numSolverCalls);
}

double bullet_btSolverAnalyticsData_GetFieldOfM_remainingLeastSquaresResidual(btSolverAnalyticsData* c_this){
	return (double)(c_this->m_remainingLeastSquaresResidual);
}

btSequentialImpulseConstraintSolver* bullet_NewbtSequentialImpulseConstraintSolver(){
	btSequentialImpulseConstraintSolver* wrap_out = new btSequentialImpulseConstraintSolver();
	return wrap_out;
}

unsigned int bullet_btSequentialImpulseConstraintSolver_btRand2(btSequentialImpulseConstraintSolver* c_this){
	unsigned int c_out = c_this->btRand2();
	unsigned int wrap_out = (c_out);
	return wrap_out;
}

int bullet_btSequentialImpulseConstraintSolver_btRandInt2(btSequentialImpulseConstraintSolver* c_this,int n){
	int c_arg_n=n;
	int c_out = c_this->btRandInt2(c_arg_n);
	int wrap_out = (c_out);
	return wrap_out;
}

btSolverAnalyticsData* bullet_btSequentialImpulseConstraintSolver_GetFieldOfM_analyticsData(btSequentialImpulseConstraintSolver* c_this){
	return (btSolverAnalyticsData*)(&c_this->m_analyticsData);
}

unsigned int bullet_btSequentialImpulseConstraintSolver_getRandSeed(btSequentialImpulseConstraintSolver* c_this){
	unsigned int c_out = c_this->getRandSeed();
	unsigned int wrap_out = (c_out);
	return wrap_out;
}

void bullet_btSequentialImpulseConstraintSolver_setRandSeed(btSequentialImpulseConstraintSolver* c_this,unsigned int seed){
	unsigned int c_arg_seed=seed;
	c_this->setRandSeed(c_arg_seed);
}

#ifdef __cplusplus
}
#endif
